package com.cgx.tablet.beeper.api;

import com.cgx.tablet.beeper.bean.AbandonCallBean;
import com.cgx.tablet.beeper.bean.BizWaitBean;
import com.cgx.tablet.beeper.bean.BizTransBean;
import com.cgx.tablet.beeper.bean.CallBean;
import com.cgx.tablet.beeper.bean.SpecialCallBean;
import com.cgx.tablet.beeper.bean.WinTransBean;
import com.cgx.tablet.beeper.bean.response.InfoResponse;
import com.cgx.tablet.beeper.bean.response.ListResponse;
import com.cgx.tablet.beeper.bean.response.MsgResponse;
import com.cgx.tablet.beeper.bean.response.TokenResponse;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

/**
 * Retrofit API接口
 * Created by Droven on 2017/4/13.
 */

public interface ApiService {

    //登录
    @GET("login")
    Call<MsgResponse> login(@Query("account") String mobile, @Query("password") String password, @Query("winId") String winId);

    //获取可登录的窗口列表
    @GET("windowList")
    Call<ListResponse<WinTransBean>> windowList();

    //暂停
    @GET("stop")
    Call<MsgResponse> stop();

    //在线
    @GET("online")
    Call<MsgResponse> online();

    //注销登录
    @GET("logout")
    Call<MsgResponse> logout();

    //呼叫
    @GET("call")
    Call<InfoResponse<CallBean>> call();

    //呼叫
    @GET("recall")
    Call<MsgResponse> recall(@Query("tid") String tid);

    //开始办理
    @GET("deal")
    Call<MsgResponse> deal(@Query("tid") String tid);

    //完成
    @GET("finish")
    Call<MsgResponse> finish(@Query("tid") String tid);

    //弃号
    @GET("abandon")
    Call<MsgResponse> abandon(@Query("tid") String tid);

    //查询可弃号重呼的票号
    @GET("abandonCall?action=getTickets")
    Call<ListResponse<AbandonCallBean>> getAbandonCall(@Query("ticket") String ticket);

    //弃号重呼
    @GET("abandonCall?action=do")
    Call<InfoResponse<CallBean>> abandonCall(@Query("tid") String tid);

    //查询可特定呼叫的票号
    @GET("specialCall?action=getTickets")
    Call<ListResponse<SpecialCallBean>> getSpecialCall(@Query("ticket") String tid);

    //特定呼叫
    @GET("specialCall?action=do")
    Call<InfoResponse<CallBean>> specialCall(@Query("tid") String tid);

    //查询允许进行业务转移的业务
    @GET("transfer?action=getBizs")
    Call<ListResponse<BizTransBean>> getBizs(@Query("bizId") String bizId);

    //业务转移
    @GET("transfer?action=bizTrans")
    Call<MsgResponse> bizTrans(@Query("tid") String tid, @Query("bizId") String bizId, @Query("priority") boolean priority);

    //查询允许进行窗口转移的窗口
    @GET("transfer?action=getWins")
    Call<ListResponse<WinTransBean>> getWins(@Query("bizId") String bizId);

    //窗口转移
    @GET("transfer?action=winTrans")
    Call<MsgResponse> winTrans(@Query("tid") String tid, @Query("winId") String winId, @Query("priority") boolean priority);

    //获取业务等候信息
    @GET("refreshBiz")
    Call<ListResponse<BizWaitBean>> refreshBiz();

    //求助
    @GET("help")
    Call<MsgResponse> help();
}
